package cn.edu.sdjzu.nacosconsumerservice.client;

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;

/**
 * 定义 Feign 客户端接口来调用 nacos-provider-service 服务
 * name/value: 指定要调用的服务名 (必须与提供者在 Nacos 中注册的服务名一致)
 * path: (可选) 如果提供者的所有接口都有统一的前缀，可以在这里指定
 */
@FeignClient(name = "nacos-provider-service") // 关键：这里的 name 必须是提供者注册到 Nacos 的 spring.application.name
public interface ProviderServiceClient {

    // 方法签名需要与提供者 Controller 中的方法完全匹配 (包括 @PathVariable, @RequestParam 等注解)
    @GetMapping("/hello/{name}") // 对应提供者的 /hello/{name} 接口
    String callHello(@PathVariable("name") String name); // 方法名可以自定义，但注解和参数必须匹配
}
